#ifndef MAININTERFACE_H
#define MAININTERFACE_H

#include <QMainWindow>
#include<QTextToSpeech>
#include<QSystemTrayIcon>
#include<QAction>
#include<QMenu>
#include<QWizardPage>
QT_BEGIN_NAMESPACE
namespace Ui { class MainInterface; }
QT_END_NAMESPACE

class MainInterface : public QMainWindow
{
    Q_OBJECT

public:
    MainInterface(QWidget *parent = nullptr);
    ~MainInterface();

private:
    Ui::MainInterface *ui;
private:
    //语音播报
    QTextToSpeech* m_speech;
    //窗口任务栏属性
    QSystemTrayIcon *trayIcon;
    QMenu *trayMenu ;
    void iconActivated(QSystemTrayIcon::ActivationReason);
    //托盘显示窗口信号发生体
    QAction *trayShowMainAction;
    QAction *trayExitAppAction;
    /**
     * @brief 初始话托盘
     */
    void initTray();
    /**
     * @brief 打开或退出托盘槽
     */
    void onShowMainAction();
    void onExitAppAction();
    /**
     * @brief 初始化托盘样式
     */
    void initTrayIcon();
    /**
     * @brief 初始化界面风格
     */
    void initializeStyleSheet();
    //帮助菜单
    QWizardPage * createPage1();
    QWizardPage * createPage2();
    QWizardPage * createPage3();
    QWizardPage * createPage4();
private slots:
    void on_action_U_triggered();
    void on_action_Bug_triggered();
    void on_action_A_triggered();
public slots:
    /**
     * @brief 界面入口
     */
    void initializeInterface();
};
#endif // MAININTERFACE_H
